Virtualization allows for multiplexing of host resources, such as machines, between different virtual machines. Particularly, under virtualization, the host resources allocate a certain amount of resources to each of the virtual machines. Each virtual machine may then use the allocated resources to execute computing or other jobs, such as applications, services, operating systems, or the like. The virtual machines may be allocated in various manners to the host resources to meet goals, such as, meeting service level objectives, meeting cost objectives, or the like.